home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glfragmentlightmodel.z / glfragmentlightmodel
Encoding:
Text File  |  2002-10-03  |  16.4 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))       OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee       ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellllffffSSSSGGGGIIIIXXXX,,,, ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeelllliiiiSSSSGGGGIIIIXXXX,,,,
  10.      ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellllffffvvvvSSSSGGGGIIIIXXXX,,,, ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeelllliiiivvvvSSSSGGGGIIIIXXXX - set the lighting
  11.      model parameters
  12.  
  13.  
  14. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  15.      void ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellllffffSSSSGGGGIIIIXXXX( GLenum _p_n_a_m_e,
  16.                                      GLfloat _p_a_r_a_m )
  17.      void ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeelllliiiiSSSSGGGGIIIIXXXX( GLenum _p_n_a_m_e,
  18.                                      GLint _p_a_r_a_m )
  19.  
  20.  
  21. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  22.      _p_n_a_m_e   Specifies a single-valued lighting model parameter.
  23.              GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____LLLLOOOOCCCCAAAALLLL____VVVVIIIIEEEEWWWWEEEERRRR____SSSSGGGGIIIIXXXX,
  24.              GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____NNNNOOOORRRRMMMMAAAALLLL____IIIINNNNTTTTEEEERRRRPPPPOOOOLLLLAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX, and
  25.              GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____TTTTWWWWOOOO____SSSSIIIIDDDDEEEE____SSSSGGGGIIIIXXXX are accepted.
  26.  
  27.      _p_a_r_a_m   Specifies the value that _p_a_r_a_m will be set to.
  28.  
  29. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  30.      void ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellllffffvvvvSSSSGGGGIIIIXXXX( GLenum _p_n_a_m_e,
  31.                                       const GLfloat *_p_a_r_a_m_s )
  32.      void ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeelllliiiivvvvSSSSGGGGIIIIXXXX( GLenum _p_n_a_m_e,
  33.                                       const GLint *_p_a_r_a_m_s )
  34.  
  35.  
  36. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  37.      _p_n_a_m_e
  38.           Specifies a lighting model parameter.
  39.           GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX,
  40.           GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____LLLLOOOOCCCCAAAALLLL____VVVVIIIIEEEEWWWWEEEERRRR____SSSSGGGGIIIIXXXX,
  41.           GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____NNNNOOOORRRRMMMMAAAALLLL____IIIINNNNTTTTEEEERRRRPPPPOOOOLLLLAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX, and
  42.           GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____TTTTWWWWOOOO____SSSSIIIIDDDDEEEE____SSSSGGGGIIIIXXXX are accepted.
  43.  
  44.      _p_a_r_a_m_s
  45.           Specifies a pointer to the value or values that _p_a_r_a_m_s will be set
  46.           to.
  47.  
  48. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  49.      ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll sets the lighting model parameter.  _p_n_a_m_e names a
  50.      parameter and _p_a_r_a_m_s gives the new value.  There are three lighting model
  51.      parameters:
  52.  
  53.      GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX
  54.                _p_a_r_a_m_s contains four integer or floating-point values that
  55.                specify the ambient RGBA intensity of the entire scene.
  56.                Integer values are mapped linearly such that the most positive
  57.                representable value maps to 1.0, and the most negative
  58.                representable value maps to -1.0.  Floating-point values are
  59.                mapped directly.  Neither integer nor floating-point values are
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))       OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee       ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))
  71.  
  72.  
  73.  
  74.                clamped.  The initial ambient scene intensity is (0.2, 0.2,
  75.                0.2, 1.0).
  76.  
  77.      GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____LLLLOOOOCCCCAAAALLLL____VVVVIIIIEEEEWWWWEEEERRRR____SSSSGGGGIIIIXXXX
  78.                _p_a_r_a_m_s is a single integer or floating-point value that
  79.                specifies how specular reflection angles are computed.  If
  80.                _p_a_r_a_m_s is 0 (or 0.0), specular reflection angles take the view
  81.                direction to be parallel to and in the direction of the -_z
  82.                axis, regardless of the location of the fragment in eye
  83.                coordinates.  Otherwise, specular reflections are computed from
  84.                the origin of the eye coordinate system.  The initial value is
  85.                0.
  86.  
  87.      GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____NNNNOOOORRRRMMMMAAAALLLL____IIIINNNNTTTTEEEERRRRPPPPOOOOLLLLAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX
  88.                _p_a_r_a_m_s must be either GGGGLLLL____FFFFLLLLAAAATTTT or GGGGLLLL____SSSSMMMMOOOOOOOOTTTTHHHH, and controls how
  89.                normals are selected for use in the fragment lighting
  90.                computations.  If GGGGLLLL____FFFFLLLLAAAATTTT is selected for the lighting model,
  91.                the normal from the provoking vertex of the primitive is used
  92.                for all fragment lighting computations.  If GGGGLLLL____SSSSMMMMOOOOOOOOTTTTHHHH is
  93.                specified a normal is computed for each fragment using the
  94.                normals from all of the vertices of the primitive.
  95.  
  96.      GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____TTTTWWWWOOOO____SSSSIIIIDDDDEEEE____SSSSGGGGIIIIXXXX
  97.                _p_a_r_a_m_s is a single integer or floating-point value that
  98.                specifies whether one- or two-sided lighting calculations are
  99.                done for polygons.  It has no effect on the lighting
  100.                calculations for points, lines, or bitmaps.  If _p_a_r_a_m_s is 0 (or
  101.                0.0), one-sided lighting is specified, and only the _f_r_o_n_t
  102.                material parameters are used in the lighting equation.
  103.                Otherwise, two-sided lighting is specified.  In this case,
  104.                vertices of back-facing polygons are lighted using the _b_a_c_k
  105.                material parameters, and have their normals reversed before the
  106.                lighting equation is evaluated.  Vertices of front-facing
  107.                polygons are always lighted using the _f_r_o_n_t material
  108.                parameters, with no change to their normals. The initial value
  109.                is 0.
  110.  
  111.      In RGBA mode, the lighted color of a fragment is the sum of the material
  112.      emission intensity, the product of the material ambient reflectance and
  113.      the lighting model full-scene ambient intensity, and the contribution of
  114.      each enabled light source.  Each light source contributes the sum of
  115.      three terms:  ambient, diffuse, and specular.  The ambient light source
  116.      contribution is the product of the material ambient reflectance and the
  117.      light's ambient intensity.  The diffuse light source contribution is the
  118.      product of the material diffuse reflectance, the light's diffuse
  119.      intensity, and the dot product of the fragment's normal with the
  120.      normalized vector from the fragment to the light source.  The specular
  121.      light source contribution is the product of the material specular
  122.      reflectance, the light's specular intensity, and the dot product of the
  123.      normalized fragment-to-eye and fragment-to-light vectors, raised to the
  124.      power of the shininess of the material.  All three light source
  125.      contributions are attenuated equally based on the distance from the
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))       OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee       ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll((((3333GGGG))))
  137.  
  138.  
  139.  
  140.      fragment to the light source and on light source direction, spread
  141.      exponent, and spread cutoff angle.  All dot products are replaced with 0
  142.      if they evaluate to a negative value.
  143.  
  144.      The alpha component of the resulting lighted color is set to the alpha
  145.      value of the material diffuse reflectance.
  146.  
  147.      In color index mode, the value of the lighted index of a fragment ranges
  148.      from the ambient to the specular values passed to ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttMMMMaaaatttteeeerrrriiiiaaaallll
  149.      using GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXXEEEESSSS.  Diffuse and specular coefficients, computed with
  150.      a (.30, .59, .11) weighting of the lights' colors, the shininess of the
  151.      material, and the same reflection and attenuation equations as in the
  152.      RGBA case, determine how much above ambient the resulting index is.
  153.  
  154. EEEERRRRRRRROOOORRRRSSSS
  155.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _p_n_a_m_e is not an accepted value.
  156.  
  157.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttMMMMooooddddeeeellll is executed
  158.      between the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  159.      ggggllllEEEEnnnndddd.
  160.  
  161. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  162.      ggggllllGGGGeeeetttt with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____AAAAMMMMBBBBIIIIEEEENNNNTTTT____SSSSGGGGIIIIXXXX
  163.      ggggllllGGGGeeeetttt with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____LLLLOOOOCCCCAAAALLLL____VVVVIIIIEEEEWWWWEEEERRRR____SSSSGGGGIIIIXXXX
  164.      ggggllllGGGGeeeetttt with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____NNNNOOOORRRRMMMMAAAALLLL____IIIINNNNTTTTEEEERRRRPPPPOOOOLLLLAAAATTTTIIIIOOOONNNN____SSSSGGGGIIIIXXXX
  165.      ggggllllGGGGeeeetttt with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT____MMMMOOOODDDDEEEELLLL____TTTTWWWWOOOO____SSSSIIIIDDDDEEEE____SSSSGGGGIIIIXXXX
  166.      ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTIIIINNNNGGGG____SSSSGGGGIIIIXXXX
  167.  
  168.  
  169. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  170.      The SSSSGGGGIIIIXXXX____ffffrrrraaaaggggmmmmeeeennnntttt____lllliiiigggghhhhttttiiiinnnngggg extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo
  171.      systems.
  172.  
  173.      On OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems, use of the texture q coordinate to achieve
  174.      projective texture effects will be processed on a per-vertex basis
  175.      instead of a per-pixel basis, unless the texture matrix is set up to be
  176.      projective.  (A projective texture matrix, specified as 16-element array
  177.      M, is defined to be one in which any of the M[3], M[7], or M[11] array
  178.      elements is non-zero.) In addition, if either two-sided lighting or
  179.      fragment lighting or separate specular lighting is in effect, projective
  180.      texture effects will always be processed on a per-vertex basis.
  181.  
  182.  
  183. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  184.      ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhtttt, ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttMMMMaaaatttteeeerrrriiiiaaaallll
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.